MacBinary | 1992-07-10 | 9.8 KB | [TEXT/CCL2] |
Confidence | Program | Detection | Match Type | Support |
---|---|---|---|---|
10% | dexvert | MacBinary (archive/macBinary) | fallback | Supported |
1% | dexvert | Text File (text/txt) | fallback | Supported |
100% | file | MacBinary II, inited, Fri Jul 10 10:52:14 1992, modified Fri Jul 10 10:52:14 1992, creator Common Lisp 2, type ASCII, 9224 bytes "serial-port.lisp" DIY-Thermocam raw data (Lepton 2.x), scale 0-10, spot sensor temperature 0.000000, unit celsius, color scheme 10, show spot sensor, calibration: offset 0.000000, slope 138.001099, at 0x2488 442 bytes resource DIY-Thermocam raw data (Lepton 2.x), scale 0-10, spot sensor temperature 0.000000, unit celsius, color scheme 10, show spot sensor, calibration: offset 0.000000, slope 138.001099 | default (weak) | |
99% | file | data | default | |
74% | TrID | Macintosh plain text (MacBinary) | default | |
25% | TrID | MacBinary 2 | default (weak) | |
100% | siegfried | fmt/1762 MacBinary (II) | default | |
100% | lsar | MacBinary | default |
id metadata | |
---|---|
key | value |
macFileType | [TEXT] |
macFileCreator | [CCL2] |
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 10 73 65 72 69 61 6c | 2d 70 6f 72 74 2e 6c 69 |..serial|-port.li|
|00000010| 73 70 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |sp......|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 43 4c | 32 01 00 00 00 00 00 00 |.TEXTCCL|2.......|
|00000050| 00 00 00 00 00 24 08 00 | 00 01 ba a6 83 54 9e a6 |.....$..|.....T..|
|00000060| 83 54 9e 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.T......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 c8 cb 00 00 |........|........|
|00000080| 28 69 6e 2d 70 61 63 6b | 61 67 65 20 3a 6f 6f 75 |(in-pack|age :oou|
|00000090| 29 0d 28 6f 6f 75 2d 70 | 72 6f 76 69 64 65 20 3a |).(oou-p|rovide :|
|000000a0| 73 65 72 69 61 6c 2d 70 | 6f 72 74 29 0d 3b 3b 3b |serial-p|ort).;;;|
|000000b0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000000c0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000000d0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000000e0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000000f0| 3b 3b 3b 0d 3b 3b 20 3a | 73 65 72 69 61 6c 2d 70 |;;;.;; :|serial-p|
|00000100| 6f 72 74 2e 6c 69 73 70 | 0d 3b 3b 0d 3b 3b 20 43 |ort.lisp|.;;.;; C|
|00000110| 6f 70 79 72 69 67 68 74 | 20 a9 20 31 39 39 31 20 |opyright| . 1991 |
|00000120| 4e 6f 72 74 68 77 65 73 | 74 65 72 6e 20 55 6e 69 |Northwes|tern Uni|
|00000130| 76 65 72 73 69 74 79 20 | 49 6e 73 74 69 74 75 74 |versity |Institut|
|00000140| 65 20 66 6f 72 20 74 68 | 65 20 4c 65 61 72 6e 69 |e for th|e Learni|
|00000150| 6e 67 20 53 63 69 65 6e | 63 65 73 0d 3b 3b 20 41 |ng Scien|ces.;; A|
|00000160| 6c 6c 20 52 69 67 68 74 | 73 20 52 65 73 65 72 76 |ll Right|s Reserv|
|00000170| 65 64 0d 3b 3b 0d 3b 3b | 20 61 75 74 68 6f 72 3a |ed.;;.;;| author:|
|00000180| 20 4d 69 63 68 61 65 6c | 20 53 2e 20 45 6e 67 62 | Michael| S. Engb|
|00000190| 65 72 0d 3b 3b 0d 3b 3b | 20 6f 62 6a 65 63 74 20 |er.;;.;;| object |
|000001a0| 66 6f 72 20 63 6f 6e 74 | 72 6f 6c 69 6e 67 20 61 |for cont|roling a|
|000001b0| 20 4d 61 63 69 6e 74 6f | 73 68 20 73 65 72 69 61 | Macinto|sh seria|
|000001c0| 6c 20 70 6f 72 74 0d 3b | 3b 3b 3b 3b 3b 3b 3b 3b |l port.;|;;;;;;;;|
|000001d0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000001e0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000001f0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000200| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 0d 0d 28 |;;;;;;;;|;;;;;..(|
|00000210| 6f 6f 75 2d 64 65 70 65 | 6e 64 65 6e 63 69 65 73 |oou-depe|ndencies|
|00000220| 0d 20 3a 2b 44 65 76 69 | 63 65 73 0d 20 3a 2b 53 |. :+Devi|ces. :+S|
|00000230| 65 72 69 61 6c 0d 20 3a | 6d 61 63 70 74 72 2d 75 |erial. :|macptr-u|
|00000240| 0d 20 3a 74 72 61 70 73 | 2d 75 0d 20 29 0d 0d 28 |. :traps|-u. )..(|
|00000250| 65 78 70 6f 72 74 20 27 | 28 73 65 72 69 61 6c 2d |export '|(serial-|
|00000260| 70 6f 72 74 0d 20 20 20 | 20 20 20 20 20 20 20 70 |port. | p|
|00000270| 6f 72 74 20 62 61 75 64 | 20 73 74 6f 70 2d 62 69 |ort baud| stop-bi|
|00000280| 74 73 20 70 61 72 69 74 | 79 20 64 61 74 61 2d 62 |ts parit|y data-b|
|00000290| 69 74 73 0d 20 20 20 20 | 20 20 20 20 20 20 73 65 |its. | se|
|000002a0| 74 2d 62 61 75 64 20 73 | 65 74 2d 73 74 6f 70 2d |t-baud s|et-stop-|
|000002b0| 62 69 74 73 20 73 65 74 | 2d 70 61 72 69 74 79 20 |bits set|-parity |
|000002c0| 73 65 74 2d 64 61 74 61 | 2d 62 69 74 73 0d 20 20 |set-data|-bits. |
|000002d0| 20 20 20 20 20 20 20 20 | 73 70 6f 72 74 2d 6f 70 | |sport-op|
|000002e0| 65 6e 2d 70 20 73 70 6f | 72 74 2d 6f 70 65 6e 20 |en-p spo|rt-open |
|000002f0| 73 70 6f 72 74 2d 63 6c | 6f 73 65 0d 20 20 20 20 |sport-cl|ose. |
|00000300| 20 20 20 20 20 20 73 70 | 6f 72 74 2d 66 6c 75 73 | sp|ort-flus|
|00000310| 68 20 73 70 6f 72 74 2d | 63 68 61 72 73 2d 61 76 |h sport-|chars-av|
|00000320| 61 69 6c 0d 20 20 20 20 | 20 20 20 20 20 20 73 70 |ail. | sp|
|00000330| 6f 72 74 2d 72 65 61 64 | 2d 63 68 61 72 20 73 70 |ort-read|-char sp|
|00000340| 6f 72 74 2d 72 65 61 64 | 2d 6c 69 6e 65 0d 20 20 |ort-read|-line. |
|00000350| 20 20 20 20 20 20 20 20 | 73 70 6f 72 74 2d 77 72 | |sport-wr|
|00000360| 69 74 65 2d 63 68 61 72 | 20 73 70 6f 72 74 2d 77 |ite-char| sport-w|
|00000370| 72 69 74 65 2d 6c 69 6e | 65 0d 20 20 20 20 20 20 |rite-lin|e. |
|00000380| 20 20 20 20 29 29 0d 0d | 3b 3b 3b 3b 3b 3b 3b 3b | ))..|;;;;;;;;|
|00000390| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000003a0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000003b0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000003c0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 0d 0d |;;;;;;;;|;;;;;;..|
|000003d0| 0d 0d 28 64 65 66 63 6c | 61 73 73 20 73 65 72 69 |..(defcl|ass seri|
|000003e0| 61 6c 2d 70 6f 72 74 20 | 28 29 0d 20 20 28 28 64 |al-port |(). ((d|
|000003f0| 72 76 72 2d 72 65 66 6e | 75 6d 2d 69 6e 20 20 20 |rvr-refn|um-in |
|00000400| 20 3a 72 65 61 64 65 72 | 20 20 20 20 20 20 64 72 | :reader| dr|
|00000410| 76 72 2d 72 65 66 6e 75 | 6d 2d 69 6e 0d 20 20 20 |vr-refnu|m-in. |
|00000420| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000430| 20 20 20 3a 61 6c 6c 6f | 63 61 74 69 6f 6e 20 3a | :allo|cation :|
|00000440| 63 6c 61 73 73 29 0d 20 | 20 20 28 64 72 76 72 2d |class). | (drvr-|
|00000450| 72 65 66 6e 75 6d 2d 6f | 75 74 20 20 20 3a 72 65 |refnum-o|ut :re|
|00000460| 61 64 65 72 20 20 20 20 | 20 20 64 72 76 72 2d 72 |ader | drvr-r|
|00000470| 65 66 6e 75 6d 2d 6f 75 | 74 0d 20 20 20 20 20 20 |efnum-ou|t. |
|00000480| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000490| 3a 61 6c 6c 6f 63 61 74 | 69 6f 6e 20 3a 63 6c 61 |:allocat|ion :cla|
|000004a0| 73 73 29 0d 20 20 20 28 | 72 65 66 2d 63 6f 75 6e |ss). (|ref-coun|
|000004b0| 74 2d 6d 6f 64 65 6d 20 | 20 20 3a 69 6e 69 74 66 |t-modem | :initf|
|000004c0| 6f 72 6d 20 20 20 20 30 | 0d 20 20 20 20 20 20 20 |orm 0|. |
|000004d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3a | | :|
|000004e0| 61 6c 6c 6f 63 61 74 69 | 6f 6e 20 3a 63 6c 61 73 |allocati|on :clas|
|000004f0| 73 29 0d 20 20 20 28 72 | 65 66 2d 63 6f 75 6e 74 |s). (r|ef-count|
|00000500| 2d 70 72 69 6e 74 65 72 | 20 3a 69 6e 69 74 66 6f |-printer| :initfo|
|00000510| 72 6d 20 20 20 20 30 0d | 20 20 20 20 20 20 20 20 |rm 0.| |
|00000520| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3a 61 | | :a|
|00000530| 6c 6c 6f 63 61 74 69 6f | 6e 20 3a 63 6c 61 73 73 |llocatio|n :class|
|00000540| 29 0d 20 20 20 28 70 6f | 72 74 20 20 20 20 20 20 |). (po|rt |
|00000550| 20 20 20 20 20 20 20 20 | 3a 69 6e 69 74 61 72 67 | |:initarg|
|00000560| 20 20 20 20 3a 70 6f 72 | 74 0d 20 20 20 20 20 20 | :por|t. |
|00000570| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000580| 3a 72 65 61 64 65 72 20 | 20 20 20 20 20 70 6f 72 |:reader | por|
|00000590| 74 29 0d 20 20 20 28 62 | 61 75 64 20 20 20 20 20 |t). (b|aud |
|000005a0| 20 20 20 20 20 20 20 20 | 20 3a 69 6e 69 74 61 72 | | :initar|
|000005b0| 67 20 20 20 20 3a 62 61 | 75 64 0d 20 20 20 20 20 |g :ba|ud. |
|000005c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000005d0| 20 3a 72 65 61 64 65 72 | 20 20 20 20 20 20 62 61 | :reader| ba|
|000005e0| 75 64 29 0d 20 20 20 28 | 73 74 6f 70 2d 62 69 74 |ud). (|stop-bit|
|000005f0| 73 20 20 20 20 20 20 20 | 20 20 3a 69 6e 69 74 61 |s | :inita|
|00000600| 72 67 20 20 20 20 3a 73 | 74 6f 70 2d 62 69 74 73 |rg :s|top-bits|
|00000610| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00000620| 20 20 20 20 20 20 20 3a | 72 65 61 64 65 72 20 20 | :|reader |
|00000630| 20 20 20 20 73 74 6f 70 | 2d 62 69 74 73 29 0d 20 | stop|-bits). |
|00000640| 20 20 28 70 61 72 69 74 | 79 20 20 20 20 20 20 20 | (parit|y |
|00000650| 20 20 20 20 20 3a 69 6e | 69 74 61 72 67 20 20 20 | :in|itarg |
|00000660| 20 3a 70 61 72 69 74 79 | 0d 20 20 20 20 20 20 20 | :parity|. |
|00000670| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3a | | :|
|00000680| 72 65 61 64 65 72 20 20 | 20 20 20 20 70 61 72 69 |reader | pari|
|00000690| 74 79 29 0d 20 20 20 28 | 64 61 74 61 2d 62 69 74 |ty). (|data-bit|
|000006a0| 73 20 20 20 20 20 20 20 | 20 20 3a 69 6e 69 74 61 |s | :inita|
|000006b0| 72 67 20 20 20 20 3a 64 | 61 74 61 2d 62 69 74 73 |rg :d|ata-bits|
|000006c0| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000006d0| 20 20 20 20 20 20 20 3a | 72 65 61 64 65 72 20 20 | :|reader |
|000006e0| 20 20 20 20 64 61 74 61 | 2d 62 69 74 73 29 0d 20 | data|-bits). |
|000006f0| 20 20 28 65 6f 6c 6e 2d | 63 68 61 72 20 20 20 20 | (eoln-|char |
|00000700| 20 20 20 20 20 3a 69 6e | 69 74 61 72 67 20 20 20 | :in|itarg |
|00000710| 20 3a 65 6f 6c 6e 2d 63 | 68 61 72 0d 20 20 20 20 | :eoln-c|har. |
|00000720| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000730| 20 20 3a 61 63 63 65 73 | 73 6f 72 20 20 20 20 65 | :acces|sor e|
|00000740| 6f 6c 6e 2d 63 68 61 72 | 29 29 0d 20 20 28 3a 64 |oln-char|)). (:d|
|00000750| 65 66 61 75 6c 74 2d 69 | 6e 69 74 61 72 67 73 0d |efault-i|nitargs.|
|00000760| 20 20 20 20 3a 70 6f 72 | 74 20 20 20 20 20 20 20 | :por|t |
|00000770| 20 20 20 20 20 20 3a 6d | 6f 64 65 6d 0d 20 20 20 | :m|odem. |
|00000780| 20 3a 62 61 75 64 20 20 | 20 20 20 20 20 20 20 20 | :baud | |
|00000790| 20 20 20 39 36 30 30 0d | 20 20 20 20 3a 73 74 6f | 9600.| :sto|
|000007a0| 70 2d 62 69 74 73 20 20 | 20 20 20 20 20 20 31 2e |p-bits | 1.|
|000007b0| 30 0d 20 20 20 20 3a 70 | 61 72 69 74 79 20 20 20 |0. :p|arity |
|000007c0| 20 20 20 20 20 20 20 20 | 3a 6e 6f 6e 65 0d 20 20 | |:none. |
|000007d0| 20 20 3a 64 61 74 61 2d | 62 69 74 73 20 20 20 20 | :data-|bits |
|000007e0| 20 20 20 20 38 0d 20 20 | 20 20 3a 6f 70 65 6e 2d | 8. | :open-|
|000007f0| 6f 6e 2d 69 6e 69 74 2d | 70 20 20 20 74 0d 20 20 |on-init-|p t. |
|00000800| 20 20 3a 63 6f 6e 66 69 | 67 2d 6f 6e 2d 69 6e 69 | :confi|g-on-ini|
|00000810| 74 2d 70 20 74 0d 20 20 | 20 20 3a 66 6c 75 73 68 |t-p t. | :flush|
|00000820| 2d 6f 6e 2d 69 6e 69 74 | 2d 70 20 20 74 0d 20 20 |-on-init|-p t. |
|00000830| 20 20 3a 65 6f 6c 6e 2d | 63 68 61 72 20 20 20 20 | :eoln-|char |
|00000840| 20 20 20 20 23 5c 72 65 | 74 75 72 6e 29 29 0d 0d | #\re|turn))..|
|00000850| 28 64 65 66 6d 65 74 68 | 6f 64 20 69 6e 69 74 69 |(defmeth|od initi|
|00000860| 61 6c 69 7a 65 2d 69 6e | 73 74 61 6e 63 65 20 3a |alize-in|stance :|
|00000870| 61 66 74 65 72 20 28 28 | 73 70 20 73 65 72 69 61 |after ((|sp seria|
|00000880| 6c 2d 70 6f 72 74 29 20 | 26 72 65 73 74 20 69 6e |l-port) |&rest in|
|00000890| 69 74 61 72 67 73 0d 20 | 20 20 20 20 20 20 20 20 |itargs. | |
|000008a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000008b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 26 6b | | &k|
|000008c0| 65 79 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ey. | |
|000008d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000008e0| 20 20 20 20 20 20 20 20 | 20 20 6f 70 65 6e 2d 6f | | open-o|
|000008f0| 6e 2d 69 6e 69 74 2d 70 | 0d 20 20 20 20 20 20 20 |n-init-p|. |
|00000900| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000910| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000920| 63 6f 6e 66 69 67 2d 6f | 6e 2d 69 6e 69 74 2d 70 |config-o|n-init-p|
|00000930| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00000940| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000950| 20 20 20 20 20 20 20 20 | 66 6c 75 73 68 2d 6f 6e | |flush-on|
|00000960| 2d 69 6e 69 74 2d 70 29 | 0d 20 20 28 64 65 63 6c |-init-p)|. (decl|
|00000970| 61 72 65 20 28 64 79 6e | 61 6d 69 63 2d 65 78 74 |are (dyn|amic-ext|
|00000980| 65 6e 74 20 69 6e 69 74 | 61 72 67 73 29 0d 20 20 |ent init|args). |
|00000990| 20 20 20 20 20 20 20 20 | 20 28 69 67 6e 6f 72 65 | | (ignore|
|000009a0| 20 69 6e 69 74 61 72 67 | 73 29 29 0d 20 20 28 77 | initarg|s)). (w|
|000009b0| 68 65 6e 20 6f 70 65 6e | 2d 6f 6e 2d 69 6e 69 74 |hen open|-on-init|
|000009c0| 2d 70 20 28 73 70 6f 72 | 74 2d 6f 70 65 6e 20 73 |-p (spor|t-open s|
|000009d0| 70 20 3a 63 6f 6e 66 69 | 67 2d 70 20 63 6f 6e 66 |p :confi|g-p conf|
|000009e0| 69 67 2d 6f 6e 2d 69 6e | 69 74 2d 70 20 3a 66 6c |ig-on-in|it-p :fl|
|000009f0| 75 73 68 2d 70 20 66 6c | 75 73 68 2d 6f 6e 2d 69 |ush-p fl|ush-on-i|
|00000a00| 6e 69 74 2d 70 29 29 29 | 0d 0d 28 64 65 66 6d 65 |nit-p)))|..(defme|
|00000a10| 74 68 6f 64 20 72 65 66 | 2d 63 6f 75 6e 74 20 28 |thod ref|-count (|
|00000a20| 28 73 70 20 73 65 72 69 | 61 6c 2d 70 6f 72 74 29 |(sp seri|al-port)|
|00000a30| 29 0d 20 20 28 65 63 61 | 73 65 20 28 70 6f 72 74 |). (eca|se (port|
|00000a40| 20 73 70 29 0d 20 20 20 | 20 28 3a 6d 6f 64 65 6d | sp). | (:modem|
|00000a50| 20 20 20 28 73 6c 6f 74 | 2d 76 61 6c 75 65 20 73 | (slot|-value s|
|00000a60| 70 20 27 72 65 66 2d 63 | 6f 75 6e 74 2d 6d 6f 64 |p 'ref-c|ount-mod|
|00000a70| 65 6d 29 29 0d 20 20 20 | 20 28 3a 70 72 69 6e 74 |em)). | (:print|
|00000a80| 65 72 20 28 73 6c 6f 74 | 2d 76 61 6c 75 65 20 73 |er (slot|-value s|
|00000a90| 70 20 27 72 65 66 2d 63 | 6f 75 6e 74 2d 70 72 69 |p 'ref-c|ount-pri|
|00000aa0| 6e 74 65 72 29 29 29 29 | 0d 0d 28 64 65 66 6d 65 |nter))))|..(defme|
|00000ab0| 74 68 6f 64 20 28 73 65 | 74 66 20 72 65 66 2d 63 |thod (se|tf ref-c|
|00000ac0| 6f 75 6e 74 29 20 28 63 | 6f 75 6e 74 20 28 73 70 |ount) (c|ount (sp|
|00000ad0| 20 73 65 72 69 61 6c 2d | 70 6f 72 74 29 29 0d 20 | serial-|port)). |
|00000ae0| 20 28 65 63 61 73 65 20 | 28 70 6f 72 74 20 73 70 | (ecase |(port sp|
|00000af0| 29 0d 20 20 20 20 28 3a | 6d 6f 64 65 6d 20 20 20 |). (:|modem |
|00000b00| 28 73 65 74 66 20 28 73 | 6c 6f 74 2d 76 61 6c 75 |(setf (s|lot-valu|
|00000b10| 65 20 73 70 20 27 72 65 | 66 2d 63 6f 75 6e 74 2d |e sp 're|f-count-|
|00000b20| 6d 6f 64 65 6d 29 20 63 | 6f 75 6e 74 29 29 0d 20 |modem) c|ount)). |
|00000b30| 20 20 20 28 3a 70 72 69 | 6e 74 65 72 20 28 73 65 | (:pri|nter (se|
|00000b40| 74 66 20 28 73 6c 6f 74 | 2d 76 61 6c 75 65 20 73 |tf (slot|-value s|
|00000b50| 70 20 27 72 65 66 2d 63 | 6f 75 6e 74 2d 70 72 69 |p 'ref-c|ount-pri|
|00000b60| 6e 74 65 72 29 20 63 6f | 75 6e 74 29 29 29 29 0d |nter) co|unt)))).|
|00000b70| 0d 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |.;;;;;;;|;;;;;;;;|
|00000b80| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000b90| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000ba0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000bb0| 3b 3b 3b 3b 3b 3b 3b 0d | 3b 3b 20 73 65 74 20 6d |;;;;;;;.|;; set m|
|00000bc0| 65 74 68 6f 64 73 20 66 | 6f 72 20 74 68 65 20 73 |ethods f|or the s|
|00000bd0| 65 72 69 61 6c 20 70 6f | 72 74 20 73 65 74 74 69 |erial po|rt setti|
|00000be0| 6e 67 73 20 73 6c 6f 74 | 73 0d 0d 28 64 65 66 6d |ngs slot|s..(defm|
|00000bf0| 65 74 68 6f 64 20 73 65 | 74 2d 62 61 75 64 20 28 |ethod se|t-baud (|
|00000c00| 28 73 70 20 73 65 72 69 | 61 6c 2d 70 6f 72 74 29 |(sp seri|al-port)|
|00000c10| 20 62 61 75 64 20 26 6b | 65 79 20 28 63 6f 6e 66 | baud &k|ey (conf|
|00000c20| 69 67 2d 70 20 74 29 29 | 0d 20 20 28 73 65 74 66 |ig-p t))|. (setf|
|00000c30| 20 28 73 6c 6f 74 2d 76 | 61 6c 75 65 20 73 70 20 | (slot-v|alue sp |
|00000c40| 27 62 61 75 64 29 20 62 | 61 75 64 29 0d 20 20 28 |'baud) b|aud). (|
|00000c50| 77 68 65 6e 20 63 6f 6e | 66 69 67 2d 70 20 28 73 |when con|fig-p (s|
|00000c60| 70 6f 72 74 2d 63 6f 6e | 66 69 67 20 73 70 29 29 |port-con|fig sp))|
|00000c70| 29 0d 0d 28 64 65 66 6d | 65 74 68 6f 64 20 73 65 |)..(defm|ethod se|
|00000c80| 74 2d 73 74 6f 70 2d 62 | 69 74 73 20 28 28 73 70 |t-stop-b|its ((sp|
|00000c90| 20 73 65 72 69 61 6c 2d | 70 6f 72 74 29 20 73 74 | serial-|port) st|
|00000ca0| 6f 70 2d 62 69 74 73 20 | 26 6b 65 79 20 28 63 6f |op-bits |&key (co|
|00000cb0| 6e 66 69 67 2d 70 20 74 | 29 29 0d 20 20 28 73 65 |nfig-p t|)). (se|
|00000cc0| 74 66 20 28 73 6c 6f 74 | 2d 76 61 6c 75 65 20 73 |tf (slot|-value s|
|00000cd0| 70 20 27 73 74 6f 70 2d | 62 69 74 73 29 20 73 74 |p 'stop-|bits) st|
|00000ce0| 6f 70 2d 62 69 74 73 29 | 0d 20 20 28 77 68 65 6e |op-bits)|. (when|
|00000cf0| 20 63 6f 6e 66 69 67 2d | 70 20 28 73 70 6f 72 74 | config-|p (sport|
|00000d00| 2d 63 6f 6e 66 69 67 20 | 73 70 29 29 29 0d 0d 28 |-config |sp)))..(|
|00000d10| 64 65 66 6d 65 74 68 6f | 64 20 73 65 74 2d 70 61 |defmetho|d set-pa|
|00000d20| 72 69 74 79 20 28 28 73 | 70 20 73 65 72 69 61 6c |rity ((s|p serial|
|00000d30| 2d 70 6f 72 74 29 20 70 | 61 72 69 74 79 20 26 6b |-port) p|arity &k|
|00000d40| 65 79 20 28 63 6f 6e 66 | 69 67 2d 70 20 74 29 29 |ey (conf|ig-p t))|
|00000d50| 0d 20 20 28 73 65 74 66 | 20 28 73 6c 6f 74 2d 76 |. (setf| (slot-v|
|00000d60| 61 6c 75 65 20 73 70 20 | 27 70 61 72 69 74 79 29 |alue sp |'parity)|
|00000d70| 20 70 61 72 69 74 79 29 | 0d 20 20 28 77 68 65 6e | parity)|. (when|
|00000d80| 20 63 6f 6e 66 69 67 2d | 70 20 28 73 70 6f 72 74 | config-|p (sport|
|00000d90| 2d 63 6f 6e 66 69 67 20 | 73 70 29 29 29 0d 0d 28 |-config |sp)))..(|
|00000da0| 64 65 66 6d 65 74 68 6f | 64 20 73 65 74 2d 64 61 |defmetho|d set-da|
|00000db0| 74 61 2d 62 69 74 73 20 | 28 28 73 70 20 73 65 72 |ta-bits |((sp ser|
|00000dc0| 69 61 6c 2d 70 6f 72 74 | 29 20 64 61 74 61 2d 62 |ial-port|) data-b|
|00000dd0| 69 74 73 20 26 6b 65 79 | 20 28 63 6f 6e 66 69 67 |its &key| (config|
|00000de0| 2d 70 20 74 29 29 0d 20 | 20 28 73 65 74 66 20 28 |-p t)). | (setf (|
|00000df0| 73 6c 6f 74 2d 76 61 6c | 75 65 20 73 70 20 27 64 |slot-val|ue sp 'd|
|00000e00| 61 74 61 2d 62 69 74 73 | 29 20 64 61 74 61 2d 62 |ata-bits|) data-b|
|00000e10| 69 74 73 29 0d 20 20 28 | 77 68 65 6e 20 63 6f 6e |its). (|when con|
|00000e20| 66 69 67 2d 70 20 28 73 | 70 6f 72 74 2d 63 6f 6e |fig-p (s|port-con|
|00000e30| 66 69 67 20 73 70 29 29 | 29 0d 0d 3b 3b 3b 3b 3b |fig sp))|)..;;;;;|
|00000e40| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000e50| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000e60| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000e70| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000e80| 3b 0d 0d 28 64 65 66 6d | 65 74 68 6f 64 20 73 70 |;..(defm|ethod sp|
|00000e90| 6f 72 74 2d 6f 70 65 6e | 2d 70 20 28 28 73 70 20 |ort-open|-p ((sp |
|00000ea0| 73 65 72 69 61 6c 2d 70 | 6f 72 74 29 29 0d 20 20 |serial-p|ort)). |
|00000eb0| 28 61 6e 64 20 28 73 6c | 6f 74 2d 62 6f 75 6e 64 |(and (sl|ot-bound|
|00000ec0| 70 20 73 70 20 27 64 72 | 76 72 2d 72 65 66 6e 75 |p sp 'dr|vr-refnu|
|00000ed0| 6d 2d 69 6e 29 0d 20 20 | 20 20 20 20 20 28 73 6c |m-in). | (sl|
|00000ee0| 6f 74 2d 62 6f 75 6e 64 | 70 20 73 70 20 27 64 72 |ot-bound|p sp 'dr|
|00000ef0| 76 72 2d 72 65 66 6e 75 | 6d 2d 6f 75 74 29 29 29 |vr-refnu|m-out)))|
|00000f00| 0d 0d 0d 28 64 65 66 6d | 65 74 68 6f 64 20 73 70 |...(defm|ethod sp|
|00000f10| 6f 72 74 2d 6f 70 65 6e | 20 28 28 73 70 20 73 65 |ort-open| ((sp se|
|00000f20| 72 69 61 6c 2d 70 6f 72 | 74 29 20 26 6b 65 79 20 |rial-por|t) &key |
|00000f30| 28 63 6f 6e 66 69 67 2d | 70 20 74 29 20 28 66 6c |(config-|p t) (fl|
|00000f40| 75 73 68 2d 70 20 74 29 | 29 0d 20 20 28 77 68 65 |ush-p t)|). (whe|
|00000f50| 6e 20 28 7a 65 72 6f 70 | 20 28 72 65 66 2d 63 6f |n (zerop| (ref-co|
|00000f60| 75 6e 74 20 73 70 29 29 | 0d 20 20 20 20 28 77 69 |unt sp))|. (wi|
|00000f70| 74 68 2d 70 73 74 72 73 | 20 28 28 69 6e 2d 6e 61 |th-pstrs| ((in-na|
|00000f80| 6d 65 5f 70 20 20 28 65 | 63 61 73 65 20 28 70 6f |me_p (e|case (po|
|00000f90| 72 74 20 73 70 29 20 28 | 3a 70 72 69 6e 74 65 72 |rt sp) (|:printer|
|00000fa0| 20 22 2e 42 49 6e 22 29 | 20 20 28 3a 6d 6f 64 65 | ".BIn")| (:mode|
|00000fb0| 6d 20 22 2e 41 49 6e 22 | 29 29 29 0d 20 20 20 20 |m ".AIn"|))). |
|00000fc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 28 6f 75 | | (ou|
|00000fd0| 74 2d 6e 61 6d 65 5f 70 | 20 28 65 63 61 73 65 20 |t-name_p| (ecase |
|00000fe0| 28 70 6f 72 74 20 73 70 | 29 20 28 3a 70 72 69 6e |(port sp|) (:prin|
|00000ff0| 74 65 72 20 22 2e 42 4f | 75 74 22 29 20 28 3a 6d |ter ".BO|ut") (:m|
|00001000| 6f 64 65 6d 20 22 2e 41 | 4f 75 74 22 29 29 29 29 |odem ".A|Out"))))|
|00001010| 0d 20 20 20 20 20 20 28 | 72 6c 65 74 20 28 28 69 |. (|rlet ((i|
|00001020| 6e 2d 72 65 66 4e 75 6d | 5f 70 20 20 3a 69 6e 74 |n-refNum|_p :int|
|00001030| 65 67 65 72 29 0d 20 20 | 20 20 20 20 20 20 20 20 |eger). | |
|00001040| 20 20 20 28 6f 75 74 2d | 72 65 66 4e 75 6d 5f 70 | (out-|refNum_p|
|00001050| 20 3a 69 6e 74 65 67 65 | 72 29 29 0d 20 20 20 20 | :intege|r)). |
|00001060| 20 20 20 20 28 74 72 61 | 70 2d 6e 7a 2d 65 63 68 | (tra|p-nz-ech|
|00001070| 65 63 6b 20 28 23 7e 4f | 70 65 6e 44 72 69 76 65 |eck (#~O|penDrive|
|00001080| 72 20 69 6e 2d 6e 61 6d | 65 5f 70 20 20 69 6e 2d |r in-nam|e_p in-|
|00001090| 72 65 66 6e 75 6d 5f 70 | 29 29 0d 20 20 20 20 20 |refnum_p|)). |
|000010a0| 20 20 20 28 74 72 61 70 | 2d 6e 7a 2d 65 63 68 65 | (trap|-nz-eche|
|000010b0| 63 6b 20 28 23 7e 4f 70 | 65 6e 44 72 69 76 65 72 |ck (#~Op|enDriver|
|000010c0| 20 6f 75 74 2d 6e 61 6d | 65 5f 70 20 6f 75 74 2d | out-nam|e_p out-|
|000010d0| 72 65 66 6e 75 6d 5f 70 | 29 29 0d 20 20 20 20 20 |refnum_p|)). |
|000010e0| 20 20 20 28 73 65 74 66 | 20 28 73 6c 6f 74 2d 76 | (setf| (slot-v|
|000010f0| 61 6c 75 65 20 73 70 20 | 27 64 72 76 72 2d 72 65 |alue sp |'drvr-re|
|00001100| 66 6e 75 6d 2d 69 6e 20 | 29 20 28 25 67 65 74 2d |fnum-in |) (%get-|
|00001110| 73 69 67 6e 65 64 2d 77 | 6f 72 64 20 69 6e 2d 72 |signed-w|ord in-r|
|00001120| 65 66 6e 75 6d 5f 70 29 | 29 0d 20 20 20 20 20 20 |efnum_p)|). |
|00001130| 20 20 28 73 65 74 66 20 | 28 73 6c 6f 74 2d 76 61 | (setf |(slot-va|
|00001140| 6c 75 65 20 73 70 20 27 | 64 72 76 72 2d 72 65 66 |lue sp '|drvr-ref|
|00001150| 6e 75 6d 2d 6f 75 74 29 | 20 28 25 67 65 74 2d 73 |num-out)| (%get-s|
|00001160| 69 67 6e 65 64 2d 77 6f | 72 64 20 6f 75 74 2d 72 |igned-wo|rd out-r|
|00001170| 65 66 6e 75 6d 5f 70 29 | 29 29 29 0d 20 20 20 20 |efnum_p)|))). |
|00001180| 28 77 68 65 6e 20 63 6f | 6e 66 69 67 2d 70 20 28 |(when co|nfig-p (|
|00001190| 73 70 6f 72 74 2d 63 6f | 6e 66 69 67 20 73 70 29 |sport-co|nfig sp)|
|000011a0| 29 0d 20 20 20 20 28 77 | 68 65 6e 20 66 6c 75 73 |). (w|hen flus|
|000011b0| 68 2d 70 20 28 73 70 6f | 72 74 2d 66 6c 75 73 68 |h-p (spo|rt-flush|
|000011c0| 20 73 70 29 29 29 0d 20 | 20 28 69 6e 63 66 20 28 | sp))). | (incf (|
|000011d0| 72 65 66 2d 63 6f 75 6e | 74 20 73 70 29 29 29 0d |ref-coun|t sp))).|
|000011e0| 0d 0d 28 64 65 66 6d 65 | 74 68 6f 64 20 73 70 6f |..(defme|thod spo|
|000011f0| 72 74 2d 63 6c 6f 73 65 | 20 28 28 73 70 20 73 65 |rt-close| ((sp se|
|00001200| 72 69 61 6c 2d 70 6f 72 | 74 29 29 0d 20 20 28 77 |rial-por|t)). (w|
|00001210| 68 65 6e 20 28 70 6c 75 | 73 70 20 28 72 65 66 2d |hen (plu|sp (ref-|
|00001220| 63 6f 75 6e 74 20 73 70 | 29 29 0d 20 20 20 20 28 |count sp|)). (|
|00001230| 64 65 63 66 20 28 72 65 | 66 2d 63 6f 75 6e 74 20 |decf (re|f-count |
|00001240| 73 70 29 29 0d 20 20 20 | 20 28 77 68 65 6e 20 28 |sp)). | (when (|
|00001250| 7a 65 72 6f 70 20 28 72 | 65 66 2d 63 6f 75 6e 74 |zerop (r|ef-count|
|00001260| 20 73 70 29 29 0d 20 20 | 20 20 20 20 28 6c 65 74 | sp)). | (let|
|00001270| 20 28 28 69 6e 2d 72 65 | 66 6e 75 6d 20 20 28 64 | ((in-re|fnum (d|
|00001280| 72 76 72 2d 72 65 66 6e | 75 6d 2d 69 6e 20 73 70 |rvr-refn|um-in sp|
|00001290| 29 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 28 |)). | (|
|000012a0| 6f 75 74 2d 72 65 66 6e | 75 6d 20 28 64 72 76 72 |out-refn|um (drvr|
|000012b0| 2d 72 65 66 6e 75 6d 2d | 6f 75 74 20 73 70 29 29 |-refnum-|out sp))|
|000012c0| 29 0d 20 20 20 20 20 20 | 20 20 28 73 6c 6f 74 2d |). | (slot-|
|000012d0| 6d 61 6b 75 6e 62 6f 75 | 6e 64 20 73 70 20 27 64 |makunbou|nd sp 'd|
|000012e0| 72 76 72 2d 72 65 66 6e | 75 6d 2d 69 6e 29 0d 20 |rvr-refn|um-in). |
|000012f0| 20 20 20 20 20 20 20 28 | 73 6c 6f 74 2d 6d 61 6b | (|slot-mak|
|00001300| 75 6e 62 6f 75 6e 64 20 | 73 70 20 27 64 72 76 72 |unbound |sp 'drvr|
|00001310| 2d 72 65 66 6e 75 6d 2d | 6f 75 74 29 0d 20 20 20 |-refnum-|out). |
|00001320| 20 20 20 20 20 28 74 72 | 61 70 2d 6e 7a 2d 65 63 | (tr|ap-nz-ec|
|00001330| 68 65 63 6b 20 28 23 7e | 43 6c 6f 73 65 44 72 69 |heck (#~|CloseDri|
|00001340| 76 65 72 20 69 6e 2d 72 | 65 66 6e 75 6d 29 29 0d |ver in-r|efnum)).|
|00001350| 20 20 20 20 20 20 20 20 | 28 74 72 61 70 2d 6e 7a | |(trap-nz|
|00001360| 2d 65 63 68 65 63 6b 20 | 28 23 7e 43 6c 6f 73 65 |-echeck |(#~Close|
|00001370| 44 72 69 76 65 72 20 6f | 75 74 2d 72 65 66 6e 75 |Driver o|ut-refnu|
|00001380| 6d 29 29 29 29 29 29 0d | 0d 0d 28 64 65 66 6d 65 |m)))))).|..(defme|
|00001390| 74 68 6f 64 20 73 70 6f | 72 74 2d 63 6f 6e 66 69 |thod spo|rt-confi|
|000013a0| 67 2d 62 69 74 73 20 28 | 28 73 70 20 73 65 72 69 |g-bits (|(sp seri|
|000013b0| 61 6c 2d 70 6f 72 74 29 | 29 0d 20 20 28 2b 20 28 |al-port)|). (+ (|
|000013c0| 65 63 61 73 65 20 28 62 | 61 75 64 20 73 70 29 0d |ecase (b|aud sp).|
|000013d0| 20 20 20 20 20 20 20 28 | 20 20 33 30 30 20 23 2e | (| 300 #.|
|000013e0| 23 24 62 61 75 64 33 30 | 30 29 0d 20 20 20 20 20 |#$baud30|0). |
|000013f0| 20 20 28 20 20 36 30 30 | 20 23 2e 23 24 62 61 75 | ( 600| #.#$bau|
|00001400| 64 36 30 30 29 0d 20 20 | 20 20 20 20 20 28 20 31 |d600). | ( 1|
|00001410| 32 30 30 20 23 2e 23 24 | 62 61 75 64 31 32 30 30 |200 #.#$|baud1200|
|00001420| 29 0d 20 20 20 20 20 20 | 20 28 20 31 38 30 30 20 |). | ( 1800 |
|00001430| 23 2e 23 24 62 61 75 64 | 31 38 30 30 29 0d 20 20 |#.#$baud|1800). |
|00001440| 20 20 20 20 20 28 20 32 | 34 30 30 20 23 2e 23 24 | ( 2|400 #.#$|
|00001450| 62 61 75 64 32 34 30 30 | 29 0d 20 20 20 20 20 20 |baud2400|). |
|00001460| 20 28 20 33 36 30 30 20 | 23 2e 23 24 62 61 75 64 | ( 3600 |#.#$baud|
|00001470| 33 36 30 30 29 0d 20 20 | 20 20 20 20 20 28 20 34 |3600). | ( 4|
|00001480| 38 30 30 20 23 2e 23 24 | 62 61 75 64 34 38 30 30 |800 #.#$|baud4800|
|00001490| 29 0d 20 20 20 20 20 20 | 20 28 20 37 32 30 30 20 |). | ( 7200 |
|000014a0| 23 2e 23 24 62 61 75 64 | 37 32 30 30 29 0d 20 20 |#.#$baud|7200). |
|000014b0| 20 20 20 20 20 28 20 39 | 36 30 30 20 23 2e 23 24 | ( 9|600 #.#$|
|000014c0| 62 61 75 64 39 36 30 30 | 29 0d 20 20 20 20 20 20 |baud9600|). |
|000014d0| 20 28 31 39 32 30 30 20 | 23 2e 23 24 62 61 75 64 | (19200 |#.#$baud|
|000014e0| 31 39 32 30 30 29 0d 20 | 20 20 20 20 20 20 28 35 |19200). | (5|
|000014f0| 37 36 30 30 20 23 2e 23 | 24 62 61 75 64 35 37 36 |7600 #.#|$baud576|
|00001500| 30 30 29 29 0d 20 20 20 | 20 20 28 65 63 61 73 65 |00)). | (ecase|
|00001510| 20 28 73 74 6f 70 2d 62 | 69 74 73 20 73 70 29 0d | (stop-b|its sp).|
|00001520| 20 20 20 20 20 20 20 28 | 31 2e 30 20 23 2e 23 24 | (|1.0 #.#$|
|00001530| 73 74 6f 70 31 30 29 0d | 20 20 20 20 20 20 20 28 |stop10).| (|
|00001540| 31 2e 35 20 23 2e 23 24 | 73 74 6f 70 31 35 29 0d |1.5 #.#$|stop15).|
|00001550| 20 20 20 20 20 20 20 28 | 32 2e 30 20 23 2e 23 24 | (|2.0 #.#$|
|00001560| 73 74 6f 70 32 30 29 29 | 0d 20 20 20 20 20 28 65 |stop20))|. (e|
|00001570| 63 61 73 65 20 28 70 61 | 72 69 74 79 20 73 70 29 |case (pa|rity sp)|
|00001580| 0d 20 20 20 20 20 20 20 | 28 3a 6e 6f 6e 65 20 23 |. |(:none #|
|00001590| 2e 23 24 6e 6f 50 61 72 | 69 74 79 29 0d 20 20 20 |.#$noPar|ity). |
|000015a0| 20 20 20 20 28 3a 6f 64 | 64 20 20 23 2e 23 24 6f | (:od|d #.#$o|
|000015b0| 64 64 50 61 72 69 74 79 | 29 0d 20 20 20 20 20 20 |ddParity|). |
|000015c0| 20 28 3a 65 76 65 6e 20 | 23 2e 23 24 65 76 65 6e | (:even |#.#$even|
|000015d0| 50 61 72 69 74 79 29 29 | 0d 20 20 20 20 20 28 65 |Parity))|. (e|
|000015e0| 63 61 73 65 20 28 64 61 | 74 61 2d 62 69 74 73 20 |case (da|ta-bits |
|000015f0| 73 70 29 0d 20 20 20 20 | 20 20 20 28 35 20 23 2e |sp). | (5 #.|
|00001600| 23 24 64 61 74 61 35 29 | 0d 20 20 20 20 20 20 20 |#$data5)|. |
|00001610| 28 36 20 23 2e 23 24 64 | 61 74 61 36 29 0d 20 20 |(6 #.#$d|ata6). |
|00001620| 20 20 20 20 20 28 37 20 | 23 2e 23 24 64 61 74 61 | (7 |#.#$data|
|00001630| 37 29 0d 20 20 20 20 20 | 20 20 28 38 20 23 2e 23 |7). | (8 #.#|
|00001640| 24 64 61 74 61 38 29 29 | 29 29 0d 0d 0d 28 64 65 |$data8))|))...(de|
|00001650| 66 6d 65 74 68 6f 64 20 | 73 70 6f 72 74 2d 63 6f |fmethod |sport-co|
|00001660| 6e 66 69 67 20 28 28 73 | 70 20 73 65 72 69 61 6c |nfig ((s|p serial|
|00001670| 2d 70 6f 72 74 29 29 0d | 20 20 28 6c 65 74 20 28 |-port)).| (let (|
|00001680| 28 63 6f 6e 66 69 67 2d | 62 69 74 73 20 28 73 70 |(config-|bits (sp|
|00001690| 6f 72 74 2d 63 6f 6e 66 | 69 67 2d 62 69 74 73 20 |ort-conf|ig-bits |
|000016a0| 73 70 29 29 29 0d 20 20 | 20 20 28 74 72 61 70 2d |sp))). | (trap-|
|000016b0| 6e 7a 2d 65 63 68 65 63 | 6b 20 28 23 7e 53 65 72 |nz-echec|k (#~Ser|
|000016c0| 52 65 73 65 74 20 28 64 | 72 76 72 2d 72 65 66 6e |Reset (d|rvr-refn|
|000016d0| 75 6d 2d 69 6e 20 20 73 | 70 29 20 63 6f 6e 66 69 |um-in s|p) confi|
|000016e0| 67 2d 62 69 74 73 29 29 | 0d 20 20 20 20 28 74 72 |g-bits))|. (tr|
|000016f0| 61 70 2d 6e 7a 2d 65 63 | 68 65 63 6b 20 28 23 7e |ap-nz-ec|heck (#~|
|00001700| 53 65 72 52 65 73 65 74 | 20 28 64 72 76 72 2d 72 |SerReset| (drvr-r|
|00001710| 65 66 6e 75 6d 2d 6f 75 | 74 20 73 70 29 20 63 6f |efnum-ou|t sp) co|
|00001720| 6e 66 69 67 2d 62 69 74 | 73 29 29 29 29 0d 0d 0d |nfig-bit|s))))...|
|00001730| 28 64 65 66 6d 65 74 68 | 6f 64 20 73 70 6f 72 74 |(defmeth|od sport|
|00001740| 2d 66 6c 75 73 68 20 28 | 28 73 70 20 73 65 72 69 |-flush (|(sp seri|
|00001750| 61 6c 2d 70 6f 72 74 29 | 29 0d 20 20 28 6c 65 74 |al-port)|). (let|
|00001760| 20 28 28 72 65 66 6e 75 | 6d 20 28 64 72 76 72 2d | ((refnu|m (drvr-|
|00001770| 72 65 66 6e 75 6d 2d 69 | 6e 20 73 70 29 29 29 0d |refnum-i|n sp))).|
|00001780| 20 20 20 20 28 72 6c 65 | 74 20 28 28 63 6f 75 6e | (rle|t ((coun|
|00001790| 74 5f 70 20 3a 6c 6f 6e | 67 69 6e 74 29 29 0d 20 |t_p :lon|gint)). |
|000017a0| 20 20 20 20 20 28 74 72 | 61 70 2d 6e 7a 2d 65 63 | (tr|ap-nz-ec|
|000017b0| 68 65 63 6b 20 28 23 7e | 53 65 72 47 65 74 42 75 |heck (#~|SerGetBu|
|000017c0| 66 20 72 65 66 6e 75 6d | 20 63 6f 75 6e 74 5f 70 |f refnum| count_p|
|000017d0| 29 29 0d 20 20 20 20 20 | 20 28 6c 65 74 20 28 28 |)). | (let ((|
|000017e0| 63 6f 75 6e 74 20 28 25 | 67 65 74 2d 73 69 67 6e |count (%|get-sign|
|000017f0| 65 64 2d 6c 6f 6e 67 20 | 63 6f 75 6e 74 5f 70 29 |ed-long |count_p)|
|00001800| 29 29 0d 20 20 20 20 20 | 20 20 20 28 77 68 65 6e |)). | (when|
|00001810| 20 28 7a 65 72 6f 70 20 | 63 6f 75 6e 74 29 20 28 | (zerop |count) (|
|00001820| 72 65 74 75 72 6e 2d 66 | 72 6f 6d 20 73 70 6f 72 |return-f|rom spor|
|00001830| 74 2d 66 6c 75 73 68 20 | 74 29 29 0d 20 20 20 20 |t-flush |t)). |
|00001840| 20 20 20 20 28 25 73 74 | 61 63 6b 2d 62 6c 6f 63 | (%st|ack-bloc|
|00001850| 6b 20 28 28 62 75 66 5f | 70 20 63 6f 75 6e 74 29 |k ((buf_|p count)|
|00001860| 29 0d 20 20 20 20 20 20 | 20 20 20 20 28 74 72 61 |). | (tra|
|00001870| 70 2d 6e 7a 2d 65 63 68 | 65 63 6b 20 28 23 7e 46 |p-nz-ech|eck (#~F|
|00001880| 53 52 65 61 64 20 72 65 | 66 6e 75 6d 20 63 6f 75 |SRead re|fnum cou|
|00001890| 6e 74 5f 70 20 62 75 66 | 5f 70 29 29 29 29 29 29 |nt_p buf|_p))))))|
|000018a0| 29 0d 0d 0d 28 64 65 66 | 6d 65 74 68 6f 64 20 73 |)...(def|method s|
|000018b0| 70 6f 72 74 2d 63 68 61 | 72 73 2d 61 76 61 69 6c |port-cha|rs-avail|
|000018c0| 20 28 28 73 70 20 73 65 | 72 69 61 6c 2d 70 6f 72 | ((sp se|rial-por|
|000018d0| 74 29 29 0d 20 20 28 6c | 65 74 20 28 28 72 65 66 |t)). (l|et ((ref|
|000018e0| 6e 75 6d 20 28 64 72 76 | 72 2d 72 65 66 6e 75 6d |num (drv|r-refnum|
|000018f0| 2d 69 6e 20 73 70 29 29 | 29 0d 20 20 20 20 28 72 |-in sp))|). (r|
|00001900| 6c 65 74 20 28 28 63 6f | 75 6e 74 5f 70 20 3a 6c |let ((co|unt_p :l|
|00001910| 6f 6e 67 69 6e 74 29 29 | 0d 20 20 20 20 20 20 28 |ongint))|. (|
|00001920| 74 72 61 70 2d 6e 7a 2d | 65 63 68 65 63 6b 20 28 |trap-nz-|echeck (|
|00001930| 23 7e 53 65 72 47 65 74 | 42 75 66 20 72 65 66 6e |#~SerGet|Buf refn|
|00001940| 75 6d 20 63 6f 75 6e 74 | 5f 70 29 29 0d 20 20 20 |um count|_p)). |
|00001950| 20 20 20 28 25 67 65 74 | 2d 73 69 67 6e 65 64 2d | (%get|-signed-|
|00001960| 6c 6f 6e 67 20 63 6f 75 | 6e 74 5f 70 29 29 29 29 |long cou|nt_p))))|
|00001970| 0d 0d 0d 28 64 65 66 6d | 65 74 68 6f 64 20 73 70 |...(defm|ethod sp|
|00001980| 6f 72 74 2d 72 65 61 64 | 2d 63 68 61 72 20 28 28 |ort-read|-char ((|
|00001990| 73 70 20 73 65 72 69 61 | 6c 2d 70 6f 72 74 29 20 |sp seria|l-port) |
|000019a0| 26 6b 65 79 20 28 77 61 | 69 74 2d 70 20 6e 69 6c |&key (wa|it-p nil|
|000019b0| 29 29 0d 20 20 28 6c 65 | 74 20 28 28 72 65 66 6e |)). (le|t ((refn|
|000019c0| 75 6d 20 28 64 72 76 72 | 2d 72 65 66 6e 75 6d 2d |um (drvr|-refnum-|
|000019d0| 69 6e 20 73 70 29 29 29 | 0d 20 20 20 20 0d 20 20 |in sp)))|. . |
|000019e0| 20 20 3b 77 61 69 74 2f | 63 68 65 63 6b 20 66 6f | ;wait/|check fo|
|000019f0| 72 20 61 76 61 69 6c 61 | 62 6c 65 20 63 68 61 72 |r availa|ble char|
|00001a00| 0d 20 20 20 20 28 6c 6f | 6f 70 20 28 77 68 65 6e |. (lo|op (when|
|00001a10| 20 28 70 6c 75 73 70 20 | 28 73 70 6f 72 74 2d 63 | (plusp |(sport-c|
|00001a20| 68 61 72 73 2d 61 76 61 | 69 6c 20 73 70 29 29 20 |hars-ava|il sp)) |
|00001a30| 28 72 65 74 75 72 6e 29 | 29 0d 20 20 20 20 20 20 |(return)|). |
|00001a40| 20 20 20 20 28 75 6e 6c | 65 73 73 20 77 61 69 74 | (unl|ess wait|
|00001a50| 2d 70 20 28 72 65 74 75 | 72 6e 2d 66 72 6f 6d 20 |-p (retu|rn-from |
|00001a60| 73 70 6f 72 74 2d 72 65 | 61 64 2d 63 68 61 72 20 |sport-re|ad-char |
|00001a70| 6e 69 6c 29 29 29 0d 20 | 20 20 20 0d 20 20 20 20 |nil))). | . |
|00001a80| 3b 67 65 74 20 74 68 65 | 20 63 68 61 72 0d 20 20 |;get the| char. |
|00001a90| 20 20 28 72 6c 65 74 20 | 28 28 63 6f 75 6e 74 5f | (rlet |((count_|
|00001aa0| 70 20 3a 6c 6f 6e 67 69 | 6e 74 29 0d 20 20 20 20 |p :longi|nt). |
|00001ab0| 20 20 20 20 20 20 20 28 | 63 68 61 72 5f 70 20 20 | (|char_p |
|00001ac0| 3a 63 68 61 72 61 63 74 | 65 72 29 29 0d 20 20 20 |:charact|er)). |
|00001ad0| 20 20 20 28 25 70 75 74 | 2d 6c 6f 6e 67 20 63 6f | (%put|-long co|
|00001ae0| 75 6e 74 5f 70 20 31 29 | 0d 20 20 20 20 20 20 28 |unt_p 1)|. (|
|00001af0| 74 72 61 70 2d 6e 7a 2d | 65 63 68 65 63 6b 20 28 |trap-nz-|echeck (|
|00001b00| 23 7e 46 53 52 65 61 64 | 20 72 65 66 6e 75 6d 20 |#~FSRead| refnum |
|00001b10| 63 6f 75 6e 74 5f 70 20 | 63 68 61 72 5f 70 29 29 |count_p |char_p))|
|00001b20| 0d 20 20 20 20 20 20 28 | 75 6e 6c 65 73 73 20 28 |. (|unless (|
|00001b30| 3d 20 31 20 28 25 67 65 | 74 2d 73 69 67 6e 65 64 |= 1 (%ge|t-signed|
|00001b40| 2d 6c 6f 6e 67 20 63 6f | 75 6e 74 5f 70 29 29 0d |-long co|unt_p)).|
|00001b50| 20 20 20 20 20 20 20 20 | 28 65 72 72 6f 72 20 22 | |(error "|
|00001b60| 52 65 61 64 69 6e 67 20 | 31 20 63 68 61 72 61 63 |Reading |1 charac|
|00001b70| 61 74 65 72 20 66 72 6f | 6d 20 73 65 72 69 61 6c |ater fro|m serial|
|00001b80| 20 70 6f 72 74 20 66 61 | 69 6c 65 64 2e 22 29 29 | port fa|iled."))|
|00001b90| 0d 20 20 20 20 20 20 28 | 25 67 65 74 2d 63 68 61 |. (|%get-cha|
|00001ba0| 72 61 63 74 65 72 20 63 | 68 61 72 5f 70 29 29 29 |racter c|har_p)))|
|00001bb0| 29 0d 20 20 20 20 0d 0d | 28 64 65 66 6d 65 74 68 |). ..|(defmeth|
|00001bc0| 6f 64 20 73 70 6f 72 74 | 2d 72 65 61 64 2d 6c 69 |od sport|-read-li|
|00001bd0| 6e 65 20 28 28 73 70 20 | 73 65 72 69 61 6c 2d 70 |ne ((sp |serial-p|
|00001be0| 6f 72 74 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 |ort). | |
|00001bf0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001c00| 20 26 6b 65 79 0d 20 20 | 20 20 20 20 20 20 20 20 | &key. | |
|00001c10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001c20| 20 20 28 77 61 69 74 2d | 70 20 6e 69 6c 29 0d 20 | (wait-|p nil). |
|00001c30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001c40| 20 20 20 20 20 20 20 20 | 20 20 20 28 77 61 69 74 | | (wait|
|00001c50| 2d 65 6f 6c 6e 2d 70 20 | 77 61 69 74 2d 70 29 0d |-eoln-p |wait-p).|
|00001c60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001c70| 20 20 20 20 20 20 20 20 | 20 20 20 20 28 65 6f 6c | | (eol|
|00001c80| 6e 2d 63 68 61 72 20 28 | 65 6f 6c 6e 2d 63 68 61 |n-char (|eoln-cha|
|00001c90| 72 20 73 70 29 29 29 0d | 20 20 28 6c 65 74 20 28 |r sp))).| (let (|
|00001ca0| 28 73 74 72 20 28 6d 61 | 6b 65 2d 61 72 72 61 79 |(str (ma|ke-array|
|00001cb0| 20 30 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | 0. | |
|00001cc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3a 65 6c 65 | | :ele|
|00001cd0| 6d 65 6e 74 2d 74 79 70 | 65 20 27 62 61 73 65 2d |ment-typ|e 'base-|
|00001ce0| 63 68 61 72 61 63 74 65 | 72 0d 20 20 20 20 20 20 |characte|r. |
|00001cf0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001d00| 20 20 20 3a 66 69 6c 6c | 2d 70 6f 69 6e 74 65 72 | :fill|-pointer|
|00001d10| 20 30 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | 0. | |
|00001d20| 20 20 20 20 20 20 20 20 | 20 20 20 20 3a 61 64 6a | | :adj|
|00001d30| 75 73 74 61 62 6c 65 20 | 74 29 29 29 0d 20 20 20 |ustable |t))). |
|00001d40| 20 28 6c 6f 6f 70 0d 20 | 20 20 20 20 20 28 6c 65 | (loop. | (le|
|00001d50| 74 20 28 28 63 20 28 73 | 70 6f 72 74 2d 72 65 61 |t ((c (s|port-rea|
|00001d60| 64 2d 63 68 61 72 20 73 | 70 20 3a 77 61 69 74 2d |d-char s|p :wait-|
|00001d70| 70 20 77 61 69 74 2d 70 | 29 29 29 0d 20 20 20 20 |p wait-p|))). |
|00001d80| 20 20 20 20 28 69 66 20 | 63 0d 20 20 20 20 20 20 | (if |c. |
|00001d90| 20 20 20 20 28 69 66 20 | 28 63 68 61 72 3d 20 63 | (if |(char= c|
|00001da0| 20 65 6f 6c 6e 2d 63 68 | 61 72 29 0d 20 20 20 20 | eoln-ch|ar). |
|00001db0| 20 20 20 20 20 20 20 20 | 28 72 65 74 75 72 6e 2d | |(return-|
|00001dc0| 66 72 6f 6d 20 73 70 6f | 72 74 2d 72 65 61 64 2d |from spo|rt-read-|
|00001dd0| 6c 69 6e 65 20 28 76 61 | 6c 75 65 73 20 73 74 72 |line (va|lues str|
|00001de0| 20 74 29 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 | t)). | |
|00001df0| 20 28 76 65 63 74 6f 72 | 2d 70 75 73 68 2d 65 78 | (vector|-push-ex|
|00001e00| 74 65 6e 64 20 63 20 73 | 74 72 29 29 0d 20 20 20 |tend c s|tr)). |
|00001e10| 20 20 20 20 20 20 20 28 | 75 6e 6c 65 73 73 20 28 | (|unless (|
|00001e20| 6f 72 20 77 61 69 74 2d | 70 20 28 61 6e 64 20 77 |or wait-|p (and w|
|00001e30| 61 69 74 2d 65 6f 6c 6e | 2d 70 20 28 70 6c 75 73 |ait-eoln|-p (plus|
|00001e40| 70 20 28 6c 65 6e 67 74 | 68 20 73 74 72 29 29 29 |p (lengt|h str)))|
|00001e50| 29 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 28 72 |). | (r|
|00001e60| 65 74 75 72 6e 2d 66 72 | 6f 6d 20 73 70 6f 72 74 |eturn-fr|om sport|
|00001e70| 2d 72 65 61 64 2d 6c 69 | 6e 65 20 28 76 61 6c 75 |-read-li|ne (valu|
|00001e80| 65 73 20 73 74 72 20 6e | 69 6c 29 29 29 29 29 29 |es str n|il))))))|
|00001e90| 29 29 0d 0d 0d 28 64 65 | 66 6d 65 74 68 6f 64 20 |))...(de|fmethod |
|00001ea0| 73 70 6f 72 74 2d 77 72 | 69 74 65 2d 63 68 61 72 |sport-wr|ite-char|
|00001eb0| 20 28 28 73 70 20 73 65 | 72 69 61 6c 2d 70 6f 72 | ((sp se|rial-por|
|00001ec0| 74 29 20 63 68 61 72 29 | 0d 20 20 28 72 6c 65 74 |t) char)|. (rlet|
|00001ed0| 20 28 28 63 6f 75 6e 74 | 5f 70 20 3a 6c 6f 6e 67 | ((count|_p :long|
|00001ee0| 69 6e 74 29 0d 20 20 20 | 20 20 20 20 20 20 28 63 |int). | (c|
|00001ef0| 68 61 72 5f 70 20 20 3a | 63 68 61 72 61 63 74 65 |har_p :|characte|
|00001f00| 72 29 29 0d 20 20 20 20 | 28 25 70 75 74 2d 6c 6f |r)). |(%put-lo|
|00001f10| 6e 67 20 63 6f 75 6e 74 | 5f 70 20 31 29 0d 20 20 |ng count|_p 1). |
|00001f20| 20 20 28 25 70 75 74 2d | 63 68 61 72 61 63 74 65 | (%put-|characte|
|00001f30| 72 20 63 68 61 72 5f 70 | 20 63 68 61 72 29 0d 20 |r char_p| char). |
|00001f40| 20 20 20 28 74 72 61 70 | 2d 6e 7a 2d 65 63 68 65 | (trap|-nz-eche|
|00001f50| 63 6b 20 28 23 7e 46 53 | 57 72 69 74 65 20 28 64 |ck (#~FS|Write (d|
|00001f60| 72 76 72 2d 72 65 66 6e | 75 6d 2d 6f 75 74 20 73 |rvr-refn|um-out s|
|00001f70| 70 29 20 63 6f 75 6e 74 | 5f 70 20 63 68 61 72 5f |p) count|_p char_|
|00001f80| 70 29 29 0d 20 20 20 20 | 28 75 6e 6c 65 73 73 20 |p)). |(unless |
|00001f90| 28 3d 20 31 20 28 25 67 | 65 74 2d 73 69 67 6e 65 |(= 1 (%g|et-signe|
|00001fa0| 64 2d 6c 6f 6e 67 20 63 | 6f 75 6e 74 5f 70 29 29 |d-long c|ount_p))|
|00001fb0| 0d 20 20 20 20 20 20 28 | 65 72 72 6f 72 20 22 57 |. (|error "W|
|00001fc0| 72 69 74 69 6e 67 20 31 | 20 63 68 61 72 61 63 74 |riting 1| charact|
|00001fd0| 65 72 20 74 6f 20 73 65 | 72 69 61 6c 20 70 6f 72 |er to se|rial por|
|00001fe0| 74 20 66 61 69 6c 65 64 | 20 28 7e 61 20 77 72 69 |t failed| (~a wri|
|00001ff0| 74 74 65 6e 29 2e 22 0d | 20 20 20 20 20 20 20 20 |tten).".| |
|00002000| 20 20 20 20 20 28 25 67 | 65 74 2d 73 69 67 6e 65 | (%g|et-signe|
|00002010| 64 2d 6c 6f 6e 67 20 63 | 6f 75 6e 74 5f 70 29 29 |d-long c|ount_p))|
|00002020| 29 29 0d 20 20 74 29 0d | 0d 0d 28 64 65 66 6d 65 |)). t).|..(defme|
|00002030| 74 68 6f 64 20 73 70 6f | 72 74 2d 77 72 69 74 65 |thod spo|rt-write|
|00002040| 2d 6c 69 6e 65 20 28 28 | 73 70 20 73 65 72 69 61 |-line ((|sp seria|
|00002050| 6c 2d 70 6f 72 74 29 20 | 73 74 72 69 6e 67 20 26 |l-port) |string &|
|00002060| 6b 65 79 20 28 65 6f 6c | 6e 2d 63 68 61 72 20 28 |key (eol|n-char (|
|00002070| 65 6f 6c 6e 2d 63 68 61 | 72 20 73 70 29 29 29 0d |eoln-cha|r sp))).|
|00002080| 20 20 28 6c 65 74 20 28 | 28 6c 65 6e 20 28 6c 65 | (let (|(len (le|
|00002090| 6e 67 74 68 20 73 74 72 | 69 6e 67 29 29 29 0d 20 |ngth str|ing))). |
|000020a0| 20 20 20 28 72 6c 65 74 | 20 28 28 63 6f 75 6e 74 | (rlet| ((count|
|000020b0| 5f 70 20 3a 6c 6f 6e 67 | 69 6e 74 29 29 0d 20 20 |_p :long|int)). |
|000020c0| 20 20 20 20 28 25 70 75 | 74 2d 6c 6f 6e 67 20 63 | (%pu|t-long c|
|000020d0| 6f 75 6e 74 5f 70 20 28 | 31 2b 20 6c 65 6e 29 29 |ount_p (|1+ len))|
|000020e0| 0d 20 20 20 20 20 20 28 | 77 69 74 68 2d 63 73 74 |. (|with-cst|
|000020f0| 72 73 20 28 28 74 65 78 | 74 5f 70 20 73 74 72 69 |rs ((tex|t_p stri|
|00002100| 6e 67 29 29 0d 20 20 20 | 20 20 20 20 20 28 25 70 |ng)). | (%p|
|00002110| 75 74 2d 63 68 61 72 61 | 63 74 65 72 20 74 65 78 |ut-chara|cter tex|
|00002120| 74 5f 70 20 65 6f 6c 6e | 2d 63 68 61 72 20 6c 65 |t_p eoln|-char le|
|00002130| 6e 29 0d 20 20 20 20 20 | 20 20 20 28 74 72 61 70 |n). | (trap|
|00002140| 2d 6e 7a 2d 65 63 68 65 | 63 6b 20 28 23 7e 46 53 |-nz-eche|ck (#~FS|
|00002150| 57 72 69 74 65 20 28 64 | 72 76 72 2d 72 65 66 6e |Write (d|rvr-refn|
|00002160| 75 6d 2d 6f 75 74 20 73 | 70 29 20 63 6f 75 6e 74 |um-out s|p) count|
|00002170| 5f 70 20 74 65 78 74 5f | 70 29 29 0d 20 20 20 20 |_p text_|p)). |
|00002180| 20 20 20 20 28 75 6e 6c | 65 73 73 20 28 3d 20 28 | (unl|ess (= (|
|00002190| 31 2b 20 6c 65 6e 29 20 | 28 25 67 65 74 2d 73 69 |1+ len) |(%get-si|
|000021a0| 67 6e 65 64 2d 6c 6f 6e | 67 20 63 6f 75 6e 74 5f |gned-lon|g count_|
|000021b0| 70 29 29 0d 20 20 20 20 | 20 20 20 20 20 20 28 65 |p)). | (e|
|000021c0| 72 72 6f 72 20 22 57 72 | 69 74 69 6e 67 20 7e 61 |rror "Wr|iting ~a|
|000021d0| 20 63 68 61 72 61 63 74 | 65 72 73 20 74 6f 20 73 | charact|ers to s|
|000021e0| 65 72 69 61 6c 20 70 6f | 72 74 20 66 61 69 6c 65 |erial po|rt faile|
|000021f0| 64 20 28 7e 61 20 77 72 | 69 74 74 65 6e 29 2e 22 |d (~a wr|itten)."|
|00002200| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00002210| 20 20 28 31 2b 20 6c 65 | 6e 29 0d 20 20 20 20 20 | (1+ le|n). |
|00002220| 20 20 20 20 20 20 20 20 | 20 20 20 20 28 25 67 65 | | (%ge|
|00002230| 74 2d 73 69 67 6e 65 64 | 2d 6c 6f 6e 67 20 63 6f |t-signed|-long co|
|00002240| 75 6e 74 5f 70 29 29 29 | 29 29 29 0d 20 20 74 29 |unt_p)))|))). t)|
|00002250| 0d 0d 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |..;;;;;;|;;;;;;;;|
|00002260| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00002270| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00002280| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00002290| 3b 3b 3b 3b 3b 3b 3b 3b | 0d 0d 23 7c 0d 0d 3b 61 |;;;;;;;;|..#|..;a|
|000022a0| 20 6d 6f 64 65 73 74 20 | 65 78 61 6d 70 6c 65 20 | modest |example |
|000022b0| 2d 20 6f 6e 20 61 20 50 | 69 6f 6e 65 65 72 20 6c |- on a P|ioneer l|
|000022c0| 61 73 65 72 64 69 73 63 | 20 70 6c 61 79 65 72 0d |aserdisc| player.|
|000022d0| 0d 28 73 65 74 66 20 73 | 70 20 28 6d 61 6b 65 2d |.(setf s|p (make-|
|000022e0| 69 6e 73 74 61 6e 63 65 | 20 27 73 65 72 69 61 6c |instance| 'serial|
|000022f0| 2d 70 6f 72 74 20 3a 70 | 6f 72 74 20 3a 70 72 69 |-port :p|ort :pri|
|00002300| 6e 74 65 72 20 3a 62 61 | 75 64 20 31 32 30 30 20 |nter :ba|ud 1200 |
|00002310| 29 29 0d 0d 20 3b 6f 70 | 65 6e 20 64 72 61 77 65 |)).. ;op|en drawe|
|00002320| 72 0d 28 70 72 6f 67 6e | 0d 20 20 28 73 70 6f 72 |r.(progn|. (spor|
|00002330| 74 2d 77 72 69 74 65 2d | 6c 69 6e 65 20 73 70 20 |t-write-|line sp |
|00002340| 22 53 54 22 29 0d 20 20 | 28 6c 69 73 74 0d 20 20 |"ST"). |(list. |
|00002350| 20 28 73 70 6f 72 74 2d | 72 65 61 64 2d 6c 69 6e | (sport-|read-lin|
|00002360| 65 20 73 70 20 3a 77 61 | 69 74 2d 70 20 74 29 0d |e sp :wa|it-p t).|
|00002370| 20 20 20 28 73 70 6f 72 | 74 2d 72 65 61 64 2d 6c | (spor|t-read-l|
|00002380| 69 6e 65 20 73 70 20 3a | 77 61 69 74 2d 70 20 74 |ine sp :|wait-p t|
|00002390| 29 29 29 0d 0d 3b 63 6c | 6f 73 65 20 64 72 61 77 |)))..;cl|ose draw|
|000023a0| 65 72 0d 28 70 72 6f 67 | 6e 0d 20 20 28 73 70 6f |er.(prog|n. (spo|
|000023b0| 72 74 2d 77 72 69 74 65 | 2d 6c 69 6e 65 20 73 70 |rt-write|-line sp|
|000023c0| 20 22 50 4c 22 29 0d 20 | 20 28 6c 69 73 74 0d 20 | "PL"). | (list. |
|000023d0| 20 20 28 73 70 6f 72 74 | 2d 72 65 61 64 2d 6c 69 | (sport|-read-li|
|000023e0| 6e 65 20 73 70 20 3a 77 | 61 69 74 2d 70 20 74 29 |ne sp :w|ait-p t)|
|000023f0| 0d 20 20 20 28 73 70 6f | 72 74 2d 72 65 61 64 2d |. (spo|rt-read-|
|00002400| 6c 69 6e 65 20 73 70 20 | 3a 77 61 69 74 2d 70 20 |line sp |:wait-p |
|00002410| 74 29 29 29 0d 0d 28 70 | 72 6f 67 6e 0d 20 20 28 |t)))..(p|rogn. (|
|00002420| 73 70 6f 72 74 2d 77 72 | 69 74 65 2d 6c 69 6e 65 |sport-wr|ite-line|
|00002430| 20 73 70 20 22 3f 44 22 | 29 0d 20 20 28 73 70 6f | sp "?D"|). (spo|
|00002440| 72 74 2d 72 65 61 64 2d | 6c 69 6e 65 20 73 70 20 |rt-read-|line sp |
|00002450| 3a 77 61 69 74 2d 70 20 | 74 29 29 0d 0d 28 73 70 |:wait-p |t))..(sp|
|00002460| 6f 72 74 2d 63 68 61 72 | 73 2d 61 76 61 69 6c 20 |ort-char|s-avail |
|00002470| 73 70 29 0d 28 73 70 6f | 72 74 2d 63 6c 6f 73 65 |sp).(spo|rt-close|
|00002480| 20 73 70 29 0d 0d 7c 23 | 00 00 00 00 00 00 00 00 | sp)..|#|........|
|00002490| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000024a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000024b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000024c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000024d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000024e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000024f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002500| 00 00 01 00 00 00 01 68 | 00 00 00 68 00 00 00 52 |.......h|...h...R|
|00002510| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 0d 23 |;;;;;;;;|;;;;;;.#|
|00002520| 7c 0d 0d 7c 23 0d 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b ||..|#.;;|;;;;;;;;|
|00002530| 10 73 65 72 69 61 6c 2d | 70 6f 72 74 2e 6c 69 73 |.serial-|port.lis|
|00002540| 70 72 02 00 00 00 54 45 | 58 54 43 43 4c 32 01 00 |pr....TE|XTCCL2..|
|00002550| 00 00 54 45 58 54 43 43 | 4c 32 01 00 00 28 00 00 |..TEXTCC|L2...(..|
|00002560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002570| 00 00 a5 0e 5f 12 00 00 | 24 08 00 00 01 ba 2d 70 |...._...|$.....-p|
|00002580| 6f 72 74 20 28 29 0d 20 | 20 28 28 64 72 76 72 2d |ort (). | ((drvr-|
|00002590| 72 65 66 6e 75 6d 2d 69 | 6e 20 3a 69 6e 69 74 61 |refnum-i|n :inita|
|000025a0| 72 67 20 3a 64 72 76 72 | 2d 72 65 66 6e 75 6d 2d |rg :drvr|-refnum-|
|000025b0| 69 6e 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |in. | |
|000025c0| 20 20 20 20 20 20 3a 72 | 65 61 64 65 72 20 64 72 | :r|eader dr|
|000025d0| 76 72 2d 72 65 66 6e 75 | 6d 2d 69 6e 29 0d 20 20 |vr-refnu|m-in). |
|000025e0| 20 28 64 72 76 72 2d 72 | 65 66 6e 75 6d 2d 6f 75 | (drvr-r|efnum-ou|
|000025f0| 74 20 3a 69 6e 69 74 61 | 72 67 20 3a 64 72 76 72 |t :inita|rg :drvr|
|00002600| 00 00 00 0a 00 01 00 16 | 0a 00 01 00 00 00 00 00 |........|........|
|00002610| 00 48 00 0a 43 6f 75 72 | 69 65 72 00 00 00 00 00 |.H..Cour|ier.....|
|00002620| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002630| 00 00 00 00 00 06 00 08 | 00 3b 00 cd 03 31 03 4a |........|.;...1.J|
|00002640| 00 3b 00 cd 03 31 03 4a | 00 00 00 00 00 00 13 07 |.;...1.J|........|
|00002650| 00 00 13 07 00 00 0a 29 | 01 00 00 00 00 0a 00 01 |.......)|........|
|00002660| 07 43 6f 75 72 69 65 72 | 00 00 01 00 00 00 01 68 |.Courier|.......h|
|00002670| 00 00 00 68 00 00 00 52 | 00 c8 a9 70 09 30 00 00 |...h...R|...p.0..|
|00002680| 00 1c 00 52 00 01 46 52 | 45 44 00 01 00 12 4d 50 |...R..FR|ED....MP|
|00002690| 53 52 00 00 00 2a 00 02 | ff ff 00 00 00 00 00 00 |SR...*..|........|
|000026a0| 00 00 00 03 ff ff 00 00 | 00 5a 00 00 00 00 03 ed |........|.Z......|
|000026b0| ff ff 00 00 00 0e 00 c8 | c4 3c 00 00 00 00 00 00 |........|.<......|
|000026c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000026d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000026e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000026f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+